/******************************************************************************
 * 
 * Announce: CSharpKit, Basic algorithms, components and definitions.
 *           Copyright (C) ShenYongchen.
 *           All rights reserved.
 *   Author: 申永辰.郑州 (shenyczz@163.com)
 *  WebSite: http://gitee.com/shenyczz/csharp_csk
 *
 * THIS CODE IS LICENSED UNDER THE MIT LICENSE (MIT).
 * THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF 
 * ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
 * IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
 * PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
 * 
******************************************************************************/

namespace CSharpKit.Native.ECCODES
{
    /// <summary>
    /// 
    /// </summary>
    /// <see cref="eccodes.codes_keys_iterator_new" />
    public enum KeyIteratorFilter : ulong
    {
        /// <summary> Iteration is carried out on all the keys available in the message </summary>
        CODES_KEYS_ITERATOR_ALL_KEYS = 0,
        /// <summary> read only keys are skipped by keys iterator </summary>
        CODES_KEYS_ITERATOR_SKIP_READ_ONLY = (1 << 0),
        /// <summary> optional keys are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_OPTIONAL = (1 << 1),
        /// <summary> edition specific keys are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC = (1 << 2),
        /// <summary> coded keys are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_CODED = (1 << 3),
        /// <summary> computed keys are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_COMPUTED = (1 << 4),
        /// <summary> duplicates of a key are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_DUPLICATES = (1 << 5),
        /// <summary> function keys are skipped by keys iterator. </summary>
        CODES_KEYS_ITERATOR_SKIP_FUNCTION = (1 << 6),
        /// <summary> only keys present in the dump </summary>
        CODES_KEYS_ITERATOR_DUMP_ONLY = (1 << 7),
    }


}
